package com.bestcem.xm.member.enums;

import com.bestcem.xm.common.core.enums.CommonEnum;

/**
 * @author ming.xue <ming.xue@idiaoyan.com>
 * @desc 联系人类型
 * @date 2021-07-24
 */
public enum MemberTypeEnum implements CommonEnum {
    /**
     * 个人联系人
     */
    INDIVIDUAL("个人联系人", 0),

    /**
     * 机构联系人
     */
    INSTITUTION("机构联系人", 1),

    /**
     * 内部联系人
     */
    INTERIOR("内部联系人", 2),

    /**
     * 隐藏的
     */
    HIDDEN("隐藏的", 3),

    /**
     * 项目
     */
    PROJECT("项目信息", 4);

    private String name;

    private int index;

    MemberTypeEnum(String name, int index) {
        this.name = name;
        this.index = index;
    }

    public int getIndex() {
        return index;
    }

    public String getName() {
        return name;
    }

    /**
     * 校验当前联系人类型是否是 个人、机构、内部联系人
     * @param memberTypeEnum 联系人类型
     * @return true 非法联系人类型
     */
    public static boolean illegalCommonMemberType(MemberTypeEnum memberTypeEnum){
        if(MemberTypeEnum.INDIVIDUAL.equals(memberTypeEnum)
                || MemberTypeEnum.INSTITUTION.equals(memberTypeEnum)
                || MemberTypeEnum.INTERIOR.equals(memberTypeEnum)){
            return false;
        }
        return true;
    }

    public boolean matches(Integer index){
        if(index == null){
            return false;
        }

        return index.equals(this.index);
    }
}
